package packInterfazGrafica;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.FlowLayout;

import javax.swing.JButton;
import javax.swing.JDialog;
import javax.swing.JPanel;
import javax.swing.JTable;
import javax.swing.border.EmptyBorder;
import javax.swing.table.DefaultTableModel;
import javax.swing.JScrollPane;
import javax.swing.JLabel;

import org.obvial.obvial.GestorEstadisticas;
import org.obvial.obvial.GestorUsuarios;

import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

public class IGEstadisticas extends JDialog {

	private final JPanel contentPanel = new JPanel();
	private static int idUsu;

	/**
	 * Launch the application.
	 */
	public static void main(String[] args) {
		try {
			IGEstadisticas dialog = new IGEstadisticas(idUsu);
			dialog.setDefaultCloseOperation(JDialog.DISPOSE_ON_CLOSE);
			dialog.setVisible(true);
		} catch (Exception e) {
			e.printStackTrace();
		}
	}

	/**
	 * Create the dialog.
	 */
	public IGEstadisticas(int pIdUsu) {
		idUsu = pIdUsu;
		
		setBounds(100, 100, 710, 591);
		getContentPane().setLayout(new BorderLayout());
		contentPanel.setBorder(new EmptyBorder(5, 5, 5, 5));
		getContentPane().add(contentPanel, BorderLayout.CENTER);
		contentPanel.setLayout(null);
		
		
		DefaultTableModel modeloP = GestorEstadisticas.getGestorEstadisticas().construirTablaPreguntas(idUsu);
		JTable tablaP = new JTable (modeloP);
		tablaP.setPreferredScrollableViewportSize(new Dimension (200,200));
		JScrollPane panelPreguntas = new JScrollPane(tablaP);
		panelPreguntas.setBounds(29, 41, 420, 456);
		contentPanel.add(panelPreguntas);
		
		String nombreUsu = GestorUsuarios.getGestorUsuarios().obtenerNombreUsuario(pIdUsu);
		JLabel lblEstadisticas = new JLabel("Estadisticas de "+nombreUsu);
		lblEstadisticas.setBounds(29, 11, 174, 14);
		contentPanel.add(lblEstadisticas);
		
		
		DefaultTableModel modeloC = GestorEstadisticas.getGestorEstadisticas().construirTablaCategorias(idUsu);
		JTable tablaC = new JTable (modeloC);
		tablaC.setPreferredScrollableViewportSize(new Dimension (200,200));
		JScrollPane panelCategorias = new JScrollPane(tablaC);
		panelCategorias.setBounds(471, 11, 213, 106);
		contentPanel.add(panelCategorias);
		
		int acertadas = GestorEstadisticas.getGestorEstadisticas().obtenerPreguntas(0, idUsu);
		JLabel lblPreguntasAcertadas = new JLabel("Preguntas totales acertadas: "+acertadas);
		lblPreguntasAcertadas.setBounds(459, 143, 225, 14);
		contentPanel.add(lblPreguntasAcertadas);
		
		int falladas = GestorEstadisticas.getGestorEstadisticas().obtenerPreguntas(1, idUsu);
		JLabel lblPreguntasFalladas = new JLabel("Preguntas totales falladas: "+falladas);
		lblPreguntasFalladas.setBounds(459, 178, 225, 14);
		contentPanel.add(lblPreguntasFalladas);
		{
			JPanel buttonPane = new JPanel();
			buttonPane.setLayout(new FlowLayout(FlowLayout.RIGHT));
			getContentPane().add(buttonPane, BorderLayout.SOUTH);
			{
				JButton okButton = new JButton("OK");
				okButton.addMouseListener(new MouseAdapter() {
					@Override
					public void mouseClicked(MouseEvent arg0) {
						dispose();
					}
				});
				okButton.setActionCommand("OK");
				buttonPane.add(okButton);
				getRootPane().setDefaultButton(okButton);
			}
		}
	}
}
